Αντικειμενοστραφής Προγραμματισμός

Κωδικός μαθήματος
ΨΣ012
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Γ
Κατηγορία μαθήματος
Περιγραφή μαθήματος
ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές/τριες θα είναι σε θέση να:

  • Αναγνωρίζουν και εφαρμόζουν τις βασικές αρχές του αντικειμενοστραφούς προγραμματισμού με χρήση της γλώσσας Python.
  • Κατανοούν και αξιοποιούν βασικές έννοιες αντικειμενοστραφών συστημάτων λογισμικού, όπως τις έννοιες του αντικειμένου (object), της κλάσης (class), της διασύνδεσης (interface), της κληρονομικότητας (inheritance), του πολυμορφισμού
    (polymorphism).
  • Σχεδιάζουν και υλοποιούν λογισμικό βασισμένο στην αντικειμενοστραφή προσέγγιση, χρησιμοποιώντας προσαρμοσμένες κλάσεις και αρθρωτή δομή κώδικα.
  • Αναπτύσσουν μικρές έως μεσαίας κλίμακας εφαρμογές σε Python με έμφαση στη σαφή δομή, την επαναχρησιμοποίηση κώδικα και τη σωστή οργάνωση των μονάδων λογισμικού.
  • Αξιοποιούν βασικές βιβλιοθήκες της Python (όπως NumPy, Pandas, Scikit-learn) για την επίλυση απλών προβλημάτων Τεχνητής Νοημοσύνης, ενσωματώνοντας τεχνικές αντικειμενοστραφούς σχεδίασης στον τρόπο ανάπτυξης και οργάνωσης του κώδικα.
  • Αναλυτική σκέψη
  • Λήψη αποφάσεων
  • Αυτόνομη ή και ομαδική εργασία
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
ΓΕΝΙΚΕΣ ΙΚΑΝΟΤΗΤΕΣ
  • Αυτόνομη εργασία
  • Ομαδική εργασία
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό, αρχές και πλεονεκτήματα, χαρακτηριστικά της αντικειμενοστρεφούς προσέγγις

  • Κλάσεις και Αντικείμενα.
  • Data Abstraction. Public, private και protected members.
  • Constructors και Destructors.
  • Κληρονομικότητα.
  • ∆υναμική καταχώρηση μνήμης.
  • Βιβλιοθήκες κλάσεων και software reusability.
  • Βασικές δομές δεδομένων.
  • Πολυμορφισμός.
  • Μοντελοποίηση προβλημάτων με την αντικειμενοστραφή φιλοσοφία.
  • Ανάπτυξη διεπαφών χρήστη - υπολογιστή.
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Αυτοτελής μελέτη 111
Σύνολο μαθήματος 150
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Το μάθημα αξιολογείται με γραπτή τελική εξέταση τρίωρης διάρκειας, και πιθανή διαδικασία διαρκούς αξιολόγησης κατά την κρίση του διδάσκοντα. Η ακριβής διαδικασία αξιολόγησης ανακοινώνεται και αναρτάται στο e-Class κατά την έναρξη του εξαμήνου. 

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

1. Νικόλαος Αβούρης, Μιχαήλ Κουκιάς, Βασίλειος Παλιουράς, και Κυριάκος Σγάρμπας, Python: Εισαγωγή στους Υπολογιστές, 4η αναθεωρημένη έκδοση, Πανεπιστημιακές Εκδόσεις Κρήτης, 2023 (κωδικός στον Εύδοξο: 77117677)
2. Johnny Wei-Bing Lin, Hannah Aizenman, Erin Manette Cartas Espinel, Kim Gunnerson, και Joanne Liu, PYTHON – Προγραμματισμός για Επιστήμες Υπολογιστών και ∆εδομένων, Εκδόσεις Τζιόλα, 2024 (κωδικός στον Εύδοξο: 122086119)
3. John V. Guttag, Εισαγωγή στον Υπολογισμό και τον Προγραμματισμό με την Python, 3η έκδοση, Εκδόσεις Παπασωτηρίου, 2022 (κωδικός στον Εύδοξο: 112696091)
4. Κωνσταντίνος Μαγκούτης και Χρήστος Νικολάου, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python, Κάλλιπος, Ανοικτές Ακαδημαϊκές Εκδόσεις, 2015 (κωδικός στον Εύδοξο: 320102)
5. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 3rd edition, O’Reilly Media, 2024

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙ∆Α ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/modules/auth/opencourses.php?fc=294